# 将函数作为返回值返回，也是一种高阶函数
# 这种高阶函数我们也称为叫做闭包，通过闭包可以创建一些只有当前函数能访问的变量
#   可以将一些私有的数据藏到的闭包中
def fun():
    a = 10
    def inner():
        print("我是inner",a)
    return inner


print(fun())
def make_average():
    nums = []
    def fun(n):
        nums.append(n)
        return sum(nums)/len(nums)
    return fun

fun = make_average()

print(fun(10))
print(fun(20))
print(fun(30))